• 插件钩子
    • 自定义钩子" level="3">自定义钩子
    • 监听钩子" level="3">监听钩子

    插件钩子

    插件钩子的信息变量名为$hooks。

    比如添加一个系统钩子

    1. public $hooks = [
    2. 'page_tips',
    3. ];

    page_tips钩子是系统自带的,所以直接这样定义,然后在插件入口文件定义钩子方法。

    1. public function pageTips($params)
    2. {
    3. echo '<div class="alert alert-success alert-dismissable">
    4. <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
    5. <p>Hello World</p>
    6. </div>';
    7. }

    自定义钩子" class="reference-link">自定义钩子

    1. public $hooks = [
    2. 'my_hook' => '我的钩子',
    3. ];

    自定义钩子的话,要写明钩子名和钩子说明,如果是系统本身已有的钩子,不用填写钩子说明。

    1. public function myHook($params)
    2. {
    3. echo '我的钩子';
    4. }

    定义好钩子和钩子实现方法之后,然后在适当的位置监听钩子,比如模板文件,或者控制器。

    监听钩子" class="reference-link">监听钩子

    1. \think\Hook::listen('my_hook');

    也可以使用hook函数

    1. hook('my_hook');